package br.com.harley.torneio.domain;

import java.util.ArrayList;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

@Entity
@Table(name = "partida")
@SequenceGenerator(name = "sq_partida", sequenceName = "sq_partida")
public class Partida extends BasePojo {

	private static final long serialVersionUID = 1L;

	@Column(name = "rotulo", length = 160, unique = true, nullable = false)
	private String rotulo;

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "partida", orphanRemoval = true, cascade = CascadeType.ALL)
	private List<PartidaJogador> listaDeJogadores = new ArrayList<PartidaJogador>();

	@ManyToOne(fetch = FetchType.LAZY, optional = false)
	@JoinColumn(name = "id_torneio")
	private Torneio torneio;

	public String getRotulo() {
		return rotulo;
	}

	public void setRotulo(String rotulo) {
		this.rotulo = rotulo;
	}

	public List<PartidaJogador> getListaDeJogadores() {
		return listaDeJogadores;
	}

	public Torneio getTorneio() {
		return torneio;
	}

	public void setTorneio(Torneio torneio) {
		this.torneio = torneio;
	}

	public void setListaDeJogadores(List<PartidaJogador> listaDeJogadores) {
		this.listaDeJogadores = listaDeJogadores;
	}

}
